// 角色管理模块的接口
import request from "@/utils/request";
import { DataPermissionResData, RoleObj, RoleResData, SavePermissionObj } from "./types";

enum API {
    // 获取角色的接口
    GETROLE_URL = '/admin/acl/role/',
    // 新增角色的接口
    ADDROLE_URL = '/admin/acl/role/save',
    // 修改角色信息的接口
    UPDATEROLE_URL = '/admin/acl/role/update',
    // 删除某一个角色信息
    DELETEROLE_URL = '/admin/acl/role/remove/',
    // 获取数据权限接口(菜单和按钮)
    ALLPERMISSION_URL = '/admin/acl/permission/toAssign/',
    // 保存角色分配的数据权限的接口
    SAVEROLEPERMISSION_URL = '/admin/acl/permission/doAssignAcl'
}

// 获取用户角色信息
export const reqUserRole = (page: number, limit: number, roleName: string): Promise<RoleResData> => request({
    url: API.GETROLE_URL + `${page}/${limit}`,
    method: 'GET',
    params: {
        roleName
    }
})
// 新增角色信息
export const reqAddRole = (data: RoleObj): any => request({
    url: API.ADDROLE_URL,
    method: 'POST',
    data
})
// 修改角色信息
export const reqEditRole = (data: RoleObj): any => request({
    url: API.UPDATEROLE_URL,
    method: 'PUT',
    data
})
// 删除某一个角色信息
export const reqDeleteRole = (roleId: number): any => request({
    url: API.DELETEROLE_URL + roleId,
    method: 'DELETE',
})
// 获取数据权限列表(菜单和按钮)
export const reqDataPermission = (roleId: number): Promise<DataPermissionResData> => request({
    url: API.ALLPERMISSION_URL + roleId,
    method: 'GET'
})
// 保存角色分配的数据权限
export const reqSaveRolePermission = (data: SavePermissionObj): any => request({
    url: API.SAVEROLEPERMISSION_URL,
    method: 'POST',
    data
})